package editorsvg.gui.generico;

import java.util.List;
import javax.swing.AbstractListModel;

/**
 * Modelo de lista que hace de adaptador de los objetos que cumplen el
 * contrato lista.
 *
 * @author Jorge Berjano
 */
public class ModeloLista extends AbstractListModel {
    private List listaObjetos;

    /** 
     * Constructor
     * @param listaIdObjetos Lista de los identificadores de los objetos a mostrar.
     * @param accesoObjeto Modulo para acceder a los objetos.
     */
    public ModeloLista(List listaObjetos) {
        this.listaObjetos = listaObjetos;
    
    }
    
    public int getSize() {   
        return listaObjetos != null ? listaObjetos.size() : 0;
    }

    public Object getElementAt(int index) {
        return listaObjetos.get(index);
    }
    
    /**
     * Fuerza actualizar toda la lista.
     */
    public void actualizar() {
        fireContentsChanged(this, 0, listaObjetos.size() - 1);
    }
}
